13 research outputs found

    Diagrammatic Representations in Domain-Specific Languages

    Get PDF
    One emerging approach to reducing the labour and costs of software development favours the specialisation of techniques to particular application domains. The rationale is that programs within a given domain often share enough common features and assumptions to enable the incorporation of substantial support mechanisms into domain-specific programming languages and associated tools. Instead of being machine-oriented, algorithmic implementations, programs in many domain-specific languages (DSLs) are rather user-level, problem-oriented specifications of solutions. Taken further, this view suggests that the most appropriate representation of programs in many domains is diagrammatic, in a way which derives from existing design notations in the domain. This thesis conducts an investigation, using mathematical techniques and supported by case studies, of issues arising from the use of diagrammatic representations in DSLs. Its structure is conceptually divided into two parts: the first is concerned with semantic and reasoning issues; the second introduces an approach to describing the syntax and layout of diagrams, in a way which addresses some pragmatic aspects of their use. The empirical context of our work is that of IEC 1131-3, an industry standard programming language for embedded control systems. The diagrammatic syntax of IEC 1131-3 consists of circuit (i.e. box-and-wire) diagrams, emphasising a data- flow view, and variants of Petri net diagrams, suited to a control-flow view. The first contribution of the thesis is the formalisation of the diagrammatic syntax and the semantics of IEC 1131-3 languages, as a prerequisite to the application of algebraic techniques. More generally, we outline an approach to the design of diagrammatic DSLs, emphasising compositionality in the semantics of the language so as to allow the development of simple proof systems for inferring properties which are deemed essential in the domain. The control-flow subset of IEC 1131-3 is carefully evaluated, and is subsequently re-designed, to yield a straightforward proof system for a restricted, yet commonly occurring, class of safety properties. A substantial part of the thesis deals with DSLs in which programs may be represented both textually and diagrammatically, as indeed is the case with IEC 1131-3. We develop a formalisation of the data-flow diagrams in IEC 1131-

    Zooming-out on Higraph-based diagrams: Syntactic and Semantic Issues

    Get PDF
    AbstractComputing system representations based on Harel's notion of hierarchical graph, or higraph, have become popular since the invention of Statecharts. Such hierarchical representations support a useful filtering operation, called “zooming-out”, which is used to manage the level of detail presented to the user designing or reasoning about a large and complex system. In the framework of (lightweight) category theory, we develop the mathematics of zooming e ut for higraphs with loose edges, formalise the transition semantics of such higraphs and conduct an analysis of the effect the operation of zooming out has on the semantic interpretations, as required for the soundness of reasoning arguments depending on zoom-out steps

    Formalising Pragmatic Features of Graph-based Notations

    No full text
    Graph-based notations form a significant subclass of visual languages. Studies of the use of such notations in practice have shown that users often employ pragmatic aspects, such as layout, to capture important domain information. Moreover this pragmatic information can support and guide reasoning over such representations. However, typical formalisations of graph-based notations often pay scant regard to such pragmatic considerations. This paper highlights an algebraic account of graph-based notations which is sensitive to relevant layout information. We illustrate, with examples taken from software engineering practice, how this algebra both captures pragmatic aspects of graphs and supports direct reasoning over their structure. Keywords: graphs, pragmatics, algebra, visual notations, software engineering Graph-based notations form a significant subclass of visual languages, particularly in computer science and many engineering domains. Typical formalisations of such notations ofte..
    corecore